package com.itbaizhan.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@RequestMapping("/c6")
@Controller
public class MyController6 {
     /*由于浏览器form表单只支持GET与POST请求，
    而DELETE、PUT请求并不支持，SpringMVC有一个过滤器，
    可以将浏览器的 POST 请求改为指定的请求方式，发送给的控制器方法。*/

    /*@DeleteMapping("/delete/{id}")
    public String deleteTest(@PathVariable("id") int id){
        System.out.println("删除id:"+id);
        return "baizhan";
    }*/

    @DeleteMapping("/delete")
    public String delete(){
        System.out.println("删除");
        return "baizhan";
    }
    @PutMapping("/put")
    public String put(){
        System.out.println("更新用户");
        return "baizhan";
    }
}
/*
* 1,在web.xml中配置过滤器
* <!-- 请求方式过滤器 -->
<filter>
  <filter-name>httpMethodFilter</filter-name>
  <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>httpMethodFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
2,编写控制器方法

3,
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>DELETE、PUT提交</title>
  </head>
  <body>
    <!-- 删除 -->
     <%-- 提交DELETE、PUT请求，表单必须提交方式为post --%>
     <%-- 表单中有一个隐藏域，name值为_method，value值为提交方式 --%>
    <form action="/c7/delete" method="post">
      <input type="hidden" name="_method" value="DELETE">
      <input type="submit" value="删除">
    </form>
    <hr/>
    <!-- 修改 -->
    <form action="/c7/put" method="post">
      <input type="hidden" name="_method" value="PUT">
      <input type="submit" value="修改">
    </form>
  </body>
</html>

*/
